home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / alsa / error.h < prev    next >
C/C++ Source or Header  |  2006-01-09  |  3KB  |  79 lines

  1. /**
  2.  * \file include/error.h
  3.  * \brief Application interface library for the ALSA driver
  4.  * \author Jaroslav Kysela <perex@suse.cz>
  5.  * \author Abramo Bagnara <abramo@alsa-project.org>
  6.  * \author Takashi Iwai <tiwai@suse.de>
  7.  * \date 1998-2001
  8.  *
  9.  * Application interface library for the ALSA driver
  10.  */
  11. /*
  12.  *   This library is free software; you can redistribute it and/or modify
  13.  *   it under the terms of the GNU Lesser General Public License as
  14.  *   published by the Free Software Foundation; either version 2.1 of
  15.  *   the License, or (at your option) any later version.
  16.  *
  17.  *   This program is distributed in the hope that it will be useful,
  18.  *   but WITHOUT ANY WARRANTY; without even the implied warranty of
  19.  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  20.  *   GNU Lesser General Public License for more details.
  21.  *
  22.  *   You should have received a copy of the GNU Lesser General Public
  23.  *   License along with this library; if not, write to the Free Software
  24.  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
  25.  *
  26.  */
  27.  
  28. #ifndef __ALSA_ERROR_H
  29. #define __ALSA_ERROR_H
  30.  
  31. #ifdef __cplusplus
  32. extern "C" {
  33. #endif
  34.  
  35. /**
  36.  *  \defgroup Error Error handling
  37.  *  Error handling macros and functions.
  38.  *  \{
  39.  */
  40.  
  41. #define SND_ERROR_BEGIN                500000            /**< Lower boundary of sound error codes. */
  42. #define SND_ERROR_INCOMPATIBLE_VERSION        (SND_ERROR_BEGIN+0)    /**< Kernel/library protocols are not compatible. */
  43. #define SND_ERROR_ALISP_NIL            (SND_ERROR_BEGIN+1)    /**< Lisp encountered an error during acall. */
  44.  
  45. const char *snd_strerror(int errnum);
  46.  
  47. /**
  48.  * \brief Error handler callback.
  49.  * \param file Source file name.
  50.  * \param line Line number.
  51.  * \param function Function name.
  52.  * \param err Value of \c errno, or 0 if not relevant.
  53.  * \param fmt \c printf(3) format.
  54.  * \param ... \c printf(3) arguments.
  55.  *
  56.  * A function of this type is called by the ALSA library when an error occurs.
  57.  * This function usually shows the message on the screen, and/or logs it.
  58.  */
  59. typedef void (*snd_lib_error_handler_t)(const char *file, int line, const char *function, int err, const char *fmt, ...) /* __attribute__ ((format (printf, 5, 6))) */;
  60. extern snd_lib_error_handler_t snd_lib_error;
  61. extern int snd_lib_error_set_handler(snd_lib_error_handler_t handler);
  62.  
  63. #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 95)
  64. #define SNDERR(...) snd_lib_error(__FILE__, __LINE__, __FUNCTION__, 0, __VA_ARGS__) /**< Shows a sound error message. */
  65. #define SYSERR(...) snd_lib_error(__FILE__, __LINE__, __FUNCTION__, errno, __VA_ARGS__) /**< Shows a system error message (related to \c errno). */
  66. #else
  67. #define SNDERR(args...) snd_lib_error(__FILE__, __LINE__, __FUNCTION__, 0, ##args) /**< Shows a sound error message. */
  68. #define SYSERR(args...) snd_lib_error(__FILE__, __LINE__, __FUNCTION__, errno, ##args) /**< Shows a system error message (related to \c errno). */
  69. #endif
  70.  
  71. /** \} */
  72.  
  73. #ifdef __cplusplus
  74. }
  75. #endif
  76.  
  77. #endif /* __ALSA_ERROR_H */
  78.  
  79.